home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / editors / emacs / xemacs / xemacs-1.004 / xemacs-1 / xemacs-19.13 / lisp / hyperbole / kotl / EXAMPLE.kotl next >
Encoding:
Text File  |  1995-08-26  |  13.2 KB  |  293 lines

  1. "Kotl-3.0" ;; file-format
  2. 
  3.   1  The outliner is a part of the Hyperbole information management system.
  4.      It produces hierarchically structured files consisting of trees of
  5.      cells.
  6.  
  7.     1a  A cell is an element of the outline which has its own display label
  8.         and unique, permanent identifier (idstamp).
  9.  
  10.     1b  Idstamps support the creation of hyperlinks to cells which are
  11.         maintained as the structure of an outline changes.
  12.  
  13.   2  Features implemented include:
  14.  
  15.     2a  Full on screen editing (just like a Macintosh).  Click to type in a
  16.         node (we call them cells) and just enter text.  Structure is
  17.         automatically maintained for you.  All of the standard Emacs editor
  18.         command set is supported both through keyboard and mouse interaction.
  19.  
  20.     2b  Advanced outline processing.
  21.  
  22.       2b1  Autonumbering:  Full auto-labeling in Augment (1a2) or legal
  23.            (1.1.2) formats.  Augment style is the default.  Single level
  24.            autonumbering (only the last part of the level number is shown),
  25.            as commonly seen in outliner products, is also available, though
  26.            it has not been tested very much and so is not recommended.  Use
  27.            {C-c C-l ?} to select a different label type.
  28.  
  29.       2b2  Cell Creation:  {C-j} adds a new cell as a sibling following the
  30.            current cell.  A non-negative prefix argument, {C-u C-j} or {C-c
  31.            a} adds the cell as a child of the current cell.  {C-c p} adds the
  32.            cell as the sibling of the current cell's parent.
  33.  
  34.       2b3  Cell and Tree Deletion: {C-c C-k} kills the current cell and its
  35.            entire subtree.  {C-c k} kills the contents of a cell from point
  36.            through the end of the cell.  {C-u C-c k} kills the entire
  37.            contents of the cell regardless of the location of point.  You may
  38.            then yank the contents into another cell with {C-y}.
  39.  
  40.       2b4  Tree Demotion and Promotion: Trees may be demoted or promoted by
  41.            hitting {TAB} or {M-TAB} respectively, as in most outliners today
  42.            (their sub-levels move with them).  {M-0 TAB} and {M-0 M-TAB} will
  43.            demote and promote trees and will additionally refill each cell
  44.            which has not been specially marked to prevent refilling.
  45.            
  46.            You can also use a command line interface and either enter cell
  47.            ids or select the cells to operate upon by using your mouse.
  48.  
  49.       2b5  Cell and Tree Filling: {M-q} or {M-j} refills a paragraph within a
  50.            cell so that its lines wrap within the current margin settings.
  51.            {C-c M-q} or {C-c M-j} refills all paragraphs within a cell.
  52.            {C-M-q} or {C-M-j} refills all cells within a tree.
  53.            
  54.            Set the variable, kotl-mode:refill-flag, to t if you want moving,
  55.            promoting, demoting, exchanging and splitting cells to also
  56.            automatically refill each cell.
  57.  
  58.       2b6  Cursor Movement:  In addition to normal Emacs movement commands,
  59.            you can move within a cell or from one cell or tree to another.
  60.            
  61.             {C-c ,}       - Move to the beginning of the current cell.
  62.             {C-c .}       - Move to the end of the current cell.
  63.            
  64.             {C-c C-n}     - Move to next cell.
  65.             {C-c C-p}     - Move to previous cell.
  66.            
  67.             {C-c C-f}     - Move forward  to next cell at the same level.
  68.             {C-c C-b}     - Move backward to next cell at the same level.
  69.            
  70.             {C-c d} or
  71.             {C-c C-d}     - Move to first child of current cell, if any.
  72.            
  73.             {C-c u} or
  74.             {C-c C-u}     - Move to parent cell of current cell, if any.
  75.            
  76.             {C-c <}       - Move to the first sibling at the current level.
  77.             {C-c >}       - Move to the last  sibling at the current level.
  78.            
  79.             {C-c ^}       - Move to the level 1 root of the current tree.
  80.             {C-c $}       - Move to the last cell in the tree rooted at point.
  81.  
  82.       2b7  Tree Movement and Copying: Entire outline trees can be moved or
  83.            copied with single commands.  Simply invoke the desired command
  84.            and then double click with the Smart Key on the desired root cell
  85.            for each argument for which you are prompted.
  86.            
  87.            Copying and moving only work within a single outline right now, so
  88.            don't use them to move trees across different outline files.  You
  89.            can, however, copy an outline tree to a non-outline buffer with:
  90.             {C-c M-c}     - Copy a koutline tree to a non-koutline buffer.
  91.             {C-c @}       - Copy a koutline tree to an outgoing mail message.
  92.            
  93.             {C-c c}       - Copy <tree> to follow as sibling of <cell>.
  94.             {C-u C-c c}   - Copy <tree> to follow as first child of <cell>.
  95.            
  96.             {C-c C-c}     - Copy <tree> to precede <cell>.
  97.             {C-u C-c C-c} - Copy <tree> as first child of the parent of <cell>.
  98.            
  99.             {C-c m}       - Move <tree> to follow as sibling of <cell>.
  100.             {C-u C-c m}   - Move <tree> to follow as first child of <cell>.
  101.            
  102.             {C-c C-m}     - Move <tree> to precede <cell>.
  103.             {C-u C-c C-m} - Move <tree> as first child of the parent of <cell>.
  104.            
  105.            If you have mouse support under Hyperbole, you can move entire
  106.            trees with mouse clicks.  Simply click the Assist Key within the
  107.            indentation to the left of a cell text and you will be prompted
  108.            for a tree to move.  Double click the Action Key within the body
  109.            of the root cell of the tree to move and then double click within
  110.            the body of the root cell of the tree you want it to follow.
  111.  
  112.       2b8  Cell Transposition:  The move and copy commands rearrange entire
  113.            trees.  The following two commands exchange the locations of two
  114.            cells.
  115.  
  116.         2b8a  {C-c e} prompts for two cell addresses and exchanges the cells.
  117.  
  118.         2b8b  {C-c t} does not prompt.  It exchanges the current and
  119.               preceding cells.  If there is no preceding cell it exchanges
  120.               the current and next cell.
  121.               
  122.               {C-c t} with a prefix argument of zero exchanges the cells in
  123.               which point and mark fall.
  124.               
  125.               {C-c t} with a non-zero numeric prefix argument, N, moves
  126.               the current tree past maximally the next N visible cells.  If
  127.               there are fewer visible, it makes the current cell the last
  128.               cell in the outline.
  129.  
  130.       2b9  Cell Splitting: You can split one cell into two adjacent cells
  131.            with {C-c s}.  This leaves the cell contents preceding point in
  132.            the current cell, minus any trailing whitespace, and moves the
  133.            contents following point to a new sibling cell which is inserted
  134.            into the outline.  {C-u C-c s} adds the new cell as the first
  135.            child of the original cell, rather than as its sibling.
  136.  
  137.      2b10  Hiding and Showing:  Individual cells, branches, or particular
  138.            levels in the outline may be hidden or shown.  These commands work
  139.            even when an outline buffer is read-only, e.g. when its file is
  140.            not checked out of a version control system yet.
  141.  
  142.        2b10a  {C-c C-h}  - Hide (collapse) tree rooted at point.
  143.               {C-c C-s}  - Show (expand)   tree rooted at point.
  144.               
  145.               {C-c C-a}  - Show (expand) all cells in the outline.
  146.               {C-x $}    - Show all cells down to a particular level.  The
  147.                            user is prompted for the level or a prefix
  148.                            argument may be given. 
  149.                            
  150.               {C-M-h}    - Hide subtree at point, excluding root. 
  151.               {M-x kotl-mode:show-subtree} - Show subtree at point.
  152.               
  153.               {C-c C-o}  - Overview, show only first line of outline cells.
  154.               {C-c C-t}  - Collapse each cell so that only first line shows.
  155.  
  156.        2b10b  A click of the Smart Key within a cell's body, but not on a
  157.               button toggles between hiding and showing the tree rooted at
  158.               point.
  159.  
  160.      2b11  Cell Identifiers:  Permanent ids are associated with each cell and
  161.            can be used in hyperlinks that are maintained as cells are
  162.            reordered in a file.  (These ids may also be displayed in place of
  163.            the outline level relative ids.  Use {C-c C-l id RET}.)  Permanent
  164.            ids are numbered from 0, where 0 is the root node of the entire
  165.            outline.  This node is never visible within the outline.
  166.            Permanent ids always begin with a 0, as in 012, to distinguish
  167.            them from relative ids.
  168.  
  169.      2b11  Cell Attributes: Each cell has its own attribute list.  The
  170.            attribute lists for the cells in the tree rooted at point can be
  171.            displayed by pressing the Assist Key.  {C-c h} prompts for a kcell
  172.            id and displays its attributes.  {C-u C-c h} prompts for a kcell
  173.            id and displays the attributes for it and its subtree.
  174.  
  175.     2c  Hyperlinks may be embedded in cells and may refer to other cells.
  176.         Explicit Hyperbole buttons may be created as usual via mouse drags,
  177.         see "(hyperbole.info)Drags".  A klink is a special implicit link
  178.         button that jumps to a specific outline cell.
  179.  
  180.       2c1  Here are two klink examples:
  181.              <@ 2b=06> jumps to the cell within this outline which has
  182.              permanent id `06' and relative id `2b', namely the preceding
  183.              sibling of this cell's parent.  <@ 06> does the same thing, as
  184.              does <@ 2b>, though this latter form will not maintain the link
  185.              properly if the cell is moved elsewhere within the outline.
  186.            
  187.              <EXAMPLE.kotl, 3=012> displays the unimplemented features
  188.              section within the named file whose permanent identifer is 012.
  189.  
  190.       2c2  There are a number of easy ways to insert klinks into koutlines.
  191.            If you have mouse support under Hyperbole, simply click the Smart
  192.            Key within the indentation to the left of a cell text.  If you
  193.            then double click on some cell, a link to that cell will be
  194.            inserted where you started.  From a keyboard, use {C-c l} or
  195.            {C-h h o l} to insert a klink.
  196.  
  197.     2d  The outliner code runs on virtually any UNIX system.  It supports dumb
  198.         terminal, X window, and NEXTSTEP (Display Postscript) displays.
  199.  
  200.   3  Features remaining to be implemented:
  201.  
  202.     3a  Branch handling commands (all cells at same level).
  203.  
  204.     3b  Copying a single cell without its subtree.
  205.  
  206.     3c  Replacing one cell or one tree with another.
  207.  
  208.     3d  Transposing two trees, rather than two cells.
  209.  
  210.     3e  A small amount of work remains to enable setting different per level
  211.         fonts and colors, so that outline levels are visually easy to
  212.         distinguish.
  213.  
  214.     3f  Flexible view handling has been only partially implemented.
  215.  
  216. 
  217. 46 ;; id-counter
  218. alpha ;; label-type
  219. 3 ;; label-min-width
  220. "  " ;; label-separator
  221. 3 ;; level-indent
  222. 
  223. ;; depth-first kcell attributes
  224. [[0
  225.   (creator "weiner@oakhill.sps.mot.com" create-time "19950825:05:42:47" id-counter 46 file "/usr1/dingus/weiner/hypb/kotl/EXAMPLE.kotl")]
  226.  [20
  227.   (creator "weiner" create-time "19940104:17:38:28")]
  228.  [34
  229.   (creator "weiner@pts.mot.com" create-time "19940610:16:43:55")]
  230.  [35
  231.   (creator "weiner@pts.mot.com" create-time "19940610:16:44:03")]
  232.  [4
  233.   (creator "weiner" create-time "19940104:17:38:29")]
  234.  [5
  235.   (creator "weiner" create-time "19940104:17:38:29")]
  236.  [6
  237.   (creator "weiner" create-time "19940104:17:38:29")]
  238.  [14
  239.   (creator "weiner" create-time "19940104:17:38:29")]
  240.  [15
  241.   (creator "weiner" create-time "19940104:17:38:29")]
  242.  [31
  243.   (creator "weiner" create-time "19940306:18:11:43")]
  244.  [7
  245.   (creator "weiner" create-time "19940104:17:38:29")]
  246.  [46
  247.   (creator "weiner@oakhill.sps.mot.com" create-time "19950614:21:35:17")]
  248.  [43
  249.   (creator "weiner@pts.mot.com" create-time "19940610:22:00:46")]
  250.  [22
  251.   (creator "weiner" create-time "19940127:22:41:42")]
  252.  [32
  253.   (creator "weiner@pts.mot.com" create-time "19940610:16:31:28")]
  254.  [41
  255.   (creator "weiner@pts.mot.com" create-time "19940610:18:55:09")]
  256.  [42
  257.   (creator "weiner@pts.mot.com" create-time "19940610:18:55:57")]
  258.  [33
  259.   (creator "weiner@pts.mot.com" create-time "19940610:16:31:29")]
  260.  [8
  261.   (creator "weiner" create-time "19940104:17:38:29")]
  262.  [28
  263.   (creator "weiner" create-time "19940128:22:50:44")]
  264.  [29
  265.   (creator "weiner" create-time "19940128:22:50:54")]
  266.  [10
  267.   (creator "weiner" create-time "19940104:17:38:29")]
  268.  [30
  269.   (creator "weiner" create-time "19940129:00:27:59")]
  270.  [26
  271.   (creator "weiner" create-time "19940128:03:56:23")]
  272.  [27
  273.   (creator "weiner" create-time "19940128:22:36:54")]
  274.  [1
  275.   (creator "weiner" create-time "19940104:17:38:29")]
  276.  [11
  277.   (creator "weiner" create-time "19940104:17:38:29")]
  278.  [12
  279.   (creator "weiner" create-time "19940104:17:38:29")]
  280.  [44
  281.   (creator "bweiner@pts.mot.com" create-time "19940728:21:56:49")]
  282.  [36
  283.   (creator "weiner@pts.mot.com" create-time "19940610:16:49:34")]
  284.  [37
  285.   (creator "weiner@pts.mot.com" create-time "19940610:16:50:02")]
  286.  [38
  287.   (creator "weiner@pts.mot.com" create-time "19940610:16:50:13")]
  288.  [13
  289.   (creator "weiner" create-time "19940104:17:38:29")]
  290.  [16
  291.   (creator "weiner" create-time "19940104:17:38:29")]
  292.  nil nil nil nil nil nil nil nil nil nil nil nil nil]
  293.